<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>[Generic Component Framework v3] IPC module in GCF</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<!--link href="tabs.css" rel="stylesheet" type="text/css"-->
</head><body>
 <div id="wrapper">
    <div id="logo_box">
        <a class="img_link" href="https://github.com/pnudupa/gcf" target="_blank" ><img style="float:left;margin-left:10px;margin-top:5px;margin-bottom:5px;"src="header_gcf_logo.jpg" alt="GCF LOGO"/></a>
        <a class="img_link" href="https://www.vcreatelogic.com/" target="_blank" ><img style="float:right;margin-right:10px; margin-top: 30px;" src="header_vcl_logo.jpg" alt="VCL LOGO"/></a>
        <div style="clear:both"></div>
    </div>
    <div class="nav">
        <ul>
            <li class="selectedpage">
                <a class="a-home" href="index.html" >
                    <span>Home</span>
                </a>
            </li>
            <li>
                <a class="a-classes " href="classes.html">
                    <span>All Classes</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_modules.html">
                    <span>Modules</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_guides_and_videos.html">
                    <span>Guides & Videos</span>
                </a>
            </li>
            <li>
                <a class="a-home " href="gcf_tools_and_inbuilt_components.html">
                    <span>Tools & Components</span>
                </a>
            </li>
        </ul>
    </div>
    <div id="main-content">
        <div class="inside">
        <div>
<!-- Generated by Doxygen 1.8.16 -->
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">IPC module in GCF</div>  </div>
</div><!--header-->
<div class="contents">

<p>The "GCF IPC Module" extends offers support for inter-process communication in your GCF applications.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_call.html">GCF::IpcCall</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make calls on methods in a remote object.  <a href="class_g_c_f_1_1_ipc_call.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_remote_object.html">GCF::IpcRemoteObject</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class allows you to maintain a persistent connection with a remote object.  <a href="class_g_c_f_1_1_ipc_remote_object.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_server.html">GCF::IpcServer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides a IPC server based on <code>QTcpServer</code>.  <a href="class_g_c_f_1_1_ipc_server.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_g_c_f_1_1_ipc_server_info.html">GCF::IpcServerInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This structure contains key information about a discovered <a class="el" href="class_g_c_f_1_1_ipc_server.html" title="Provides a IPC server based on QTcpServer.">GCF::IpcServer</a>.  <a href="struct_g_c_f_1_1_ipc_server_info.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_g_c_f_1_1_ipc_server_discovery.html">GCF::IpcServerDiscovery</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This class can be used to discover <a class="el" href="class_g_c_f_1_1_ipc_server.html" title="Provides a IPC server based on QTcpServer.">GCF::IpcServer</a> instances on LAN.  <a href="class_g_c_f_1_1_ipc_server_discovery.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga9914677e892972e036b1f7498110c7a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_g_c_f_1_1_result.html">GCF::Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gcf__ipc.html#ga9914677e892972e036b1f7498110c7a4">GCF::ipcConnect</a> (QObject *sender, const char *signal, <a class="el" href="class_g_c_f_1_1_ipc_remote_object.html">GCF::IpcRemoteObject</a> *receiver, const char *member)</td></tr>
<tr class="separator:ga9914677e892972e036b1f7498110c7a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1fd007a48d665a2b1331ac8fd40669a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_g_c_f_1_1_result.html">GCF::Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gcf__ipc.html#ga1fd007a48d665a2b1331ac8fd40669a5">GCF::ipcConnect</a> (<a class="el" href="class_g_c_f_1_1_ipc_remote_object.html">GCF::IpcRemoteObject</a> *sender, const char *signal, QObject *receiver, const char *member)</td></tr>
<tr class="separator:ga1fd007a48d665a2b1331ac8fd40669a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b10b977109d6697e8198a34528e26ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_g_c_f_1_1_result.html">GCF::Result</a> Q_DECL_IMPORT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__gcf__ipc.html#ga9b10b977109d6697e8198a34528e26ef">GCF::ipcConnect</a> (QObject *sender, const char *signal, const QHostAddress &amp;addr, quint16 port, const QString &amp;object, const QString &amp;method)</td></tr>
<tr class="separator:ga9b10b977109d6697e8198a34528e26ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Using this module you can remotely invoke methods on objects offered by components in another application. You can also create remote signal/slot connections! Please read the article on <a class="el" href="gcf_using_ipc.html">Using IPC in your applications</a> to know more about this.</p>
<p>To include this module in GCF you can add the following line to your project file</p>
<pre class="fragment">CONFIG += GCFIpc3
</pre><p>For this to work, you should have set <code>QMAKEFEATURES</code> environment variable to <code>$GCFDIR/QMakePRF</code>. If you have not configured the <code>QMAKEFEATURES</code>, you can enter the following line in your project file instead.</p>
<pre class="fragment">GCF_SOURCE_DIR = /path/to/gcf/source/
include( $$GCF_SOURCE_DIR/QMakePRF/GCFIpc3.prf )
</pre> <h2 class="groupheader">Function Documentation</h2>
<a id="ga9914677e892972e036b1f7498110c7a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9914677e892972e036b1f7498110c7a4">&#9670;&nbsp;</a></span>ipcConnect() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_g_c_f_1_1_result.html">GCF::Result</a> GCF::ipcConnect </td>
          <td>(</td>
          <td class="paramtype">QObject *&#160;</td>
          <td class="paramname"><em>sender</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>signal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_g_c_f_1_1_ipc_remote_object.html">GCF::IpcRemoteObject</a> *&#160;</td>
          <td class="paramname"><em>receiver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>member</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Connects <code>signal</code> of local <code>QObject</code> <code>sender</code> to <code>member</code> of remote object <code>receiver</code>.</p>
<p>This function returns true upon success. False+error message upon failure. </p>

</div>
</div>
<a id="ga1fd007a48d665a2b1331ac8fd40669a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1fd007a48d665a2b1331ac8fd40669a5">&#9670;&nbsp;</a></span>ipcConnect() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_g_c_f_1_1_result.html">GCF::Result</a> GCF::ipcConnect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_g_c_f_1_1_ipc_remote_object.html">GCF::IpcRemoteObject</a> *&#160;</td>
          <td class="paramname"><em>sender</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>signal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">QObject *&#160;</td>
          <td class="paramname"><em>receiver</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>member</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Connects <code>signal</code> of remote object <code>sender</code> to <code>member</code> of local <code>QObject</code> <code>receiver</code>.</p>
<p>This function returns true upon success. False+error message upon failure. </p>

</div>
</div>
<a id="ga9b10b977109d6697e8198a34528e26ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9b10b977109d6697e8198a34528e26ef">&#9670;&nbsp;</a></span>ipcConnect() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_g_c_f_1_1_result.html">GCF::Result</a> GCF::ipcConnect </td>
          <td>(</td>
          <td class="paramtype">QObject *&#160;</td>
          <td class="paramname"><em>sender</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>signal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QHostAddress &amp;&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">quint16&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>object</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QString &amp;&#160;</td>
          <td class="paramname"><em>method</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Connects <code>signal</code> of local <code>QObject</code> <code>sender</code> to <code>method</code> of a remote object by name <code>object</code> available at <code>port</code> and <code>addr</code> address.</p>
<p>This function returns true upon success. False+error message upon failure. </p>

</div>
</div>
</div><!-- contents -->
</div>
</div>
</div>
<div class="footer_content">
<table width="100%" class="footer">
<tr>
<td align="left" width="50%">Copyright &copy; 2013-2019,
 <a class="el" href="http://www.vcreatelogic.com" target="_black">VCreate Logic Private Limited</a></td>
<td align="right" width="50%"><a class="el" href="http://www.vcreatelogic.com/products/gcf" target="_black">GCF - Generic Component Framework</a></td>
</tr>
</table>
</div>
</div>
</body>
</html>
